package com.um.jdy.common.finance.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @Title 财务模块枚举
 * @Description
 * @Author renjunwei
 * @Date 2021/12/22 3:15 PM
 */
public class FinancialEnum {

    @Getter
    @AllArgsConstructor
    public enum IncomeOrExpend {
        Income("收入"),
        Expend("支出");
        private String value;

    }

    @Getter
    @AllArgsConstructor
    public enum BillStatus {

        NotEffective("未生效"),
        Effective("已生效"),
        Invalided("已失效");

        private String value;

    }

    @Getter
    @AllArgsConstructor
    public enum CashoutStatus {

        Pending("待审核"),
        Passed("已通过"),
        Rejected("已驳回"),
        PendingLoan("待放款"),
        LoanFailed("放款失败"),

        ;

        private String value;

    }

    @Getter
    @AllArgsConstructor
    public enum PlatformBillEvent {

        Charge("订单消费"),
        Recharge("充值套餐"),
        HandFee("提现手续费"),
        Cashout("收益提现"),
        OrderRefund("订单退款"),
        PackageRefund("充值退款"),
        DepositCashout("押金退回"),
        DepositRecharge("押金支付"),
        Artificial("人工录入"),
        GoodsIncome("商品收入"),
        PayFee("支付手续费"),
        PayFeeRefund("支付手续费退回"),
        GoodsRefund("退款"),
        MonthCard("月卡订单支付"),
        MonthCardRefund("月卡订单退款"),

        ;

        private String value;

    }

    @Getter
    @AllArgsConstructor
    public enum PlatformProfitBillEvent {

        Commission("订单佣金"),
        HandFee("提现手续费"),
        Cashout("平台提现"),
        RechargeGift("充值赠送"),
        OrderRefund("订单退款"),
        GiftRefund("充值赠送退回"),
        MonthCommission("月卡佣金"),
        MonthCommissionRefund("月卡佣金退回"),
        ;

        private String value;

    }

    @Getter
    @AllArgsConstructor
    public enum MerchantBillEvent {

        Commission("订单佣金"),
        Cashout("提现"),
        HandFee("提现手续费"),
        OrderRefund("订单退款"),
        MonthCommission("月卡佣金"),
        MonthCommissionRefund("月卡佣金退回"),
        Artificial("人工录入"),
        SplitAccounts("宝付分账");

        private String value;

    }



    @Getter
    @AllArgsConstructor
    public enum UserBillEvent{

        Recharge("套餐充值"),
        RechargeRedund("充值退款"),
        Charge("订单消费"),
        Refund("订单退款"),
        DepositCashout("押金退回"),
        DepositRecharge("押金支付"),
        MonthCard("月卡订单支付"),
        MonthCardRefund("月卡订单退款"),
        Artificial("人工录入"),
        ;
        private String value;

    }

    @Getter
    @AllArgsConstructor
    public enum WalletBillEvent{

        Recharge("套餐充值"),
        RechargeRedund("充值退款"),
        Charge("订单消费"),
        Refund("订单退款"),
        Artificial("人工录入"),
        RechargeGift("充值赠送"),
        GiftRefund("充值赠送退回"),
        ;
        private String value;

    }


    @Getter
    @AllArgsConstructor
    public enum CashoutAuditType {
        Artificial("人工审核"),
        Auto("自动审核");

        private String value;

    }


//    public static void main(String[] args){
//        StringBuilder sb = new StringBuilder();
//        for(WalletBillEvent item : WalletBillEvent.values()){
//            sb.append(item.name()+"-"+item.getValue());
//            sb.append(",");
//        }
//        System.out.println(sb.toString());
//    }
}
